

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
    <title>6. Built-in Exceptions &mdash; Python v2.7.8 documentation</title>
    <link rel="stylesheet" href="../_static/default.css" type="text/css" />
    <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <script type="text/javascript">
      var DOCUMENTATION_OPTIONS = {
        URL_ROOT:    '../',
        VERSION:     '2.7.8',
        COLLAPSE_INDEX: false,
        FILE_SUFFIX: '.html',
        HAS_SOURCE:  true
      };
    </script>
    <script type="text/javascript" src="../_static/jquery.js"></script>
    <script type="text/javascript" src="../_static/underscore.js"></script>
    <script type="text/javascript" src="../_static/doctools.js"></script>
    <script type="text/javascript" src="../_static/sidebar.js"></script>
    <link rel="search" type="application/opensearchdescription+xml"
          title="Search within Python v2.7.8 documentation"
          href="../_static/opensearch.xml"/>
    <link rel="author" title="About these documents" href="../about.html" />
    <link rel="copyright" title="Copyright" href="../copyright.html" />
    <link rel="top" title="Python v2.7.8 documentation" href="../index.html" />
    <link rel="up" title="The Python Standard Library" href="index.html" />
    <link rel="next" title="7. String Services" href="strings.html" />
    <link rel="prev" title="5. Built-in Types" href="stdtypes.html" />
    <link rel="shortcut icon" type="image/png" href="../_static/py.png" />
    <script type="text/javascript" src="../_static/copybutton.js"></script>
    
 
    

  </head>
  <body>  
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="strings.html" title="7. String Services"
             accesskey="N">next</a> |</li>
        <li class="right" >
          <a href="stdtypes.html" title="5. Built-in Types"
             accesskey="P">previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python v2.7.8 documentation</a> &raquo;
        </li>

          <li><a href="index.html" accesskey="U">The Python Standard Library</a> &raquo;</li> 
      </ul>
    </div>    

    <div class="document">
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body">
            
  <div class="section" id="module-exceptions">
<span id="built-in-exceptions"></span><span id="bltin-exceptions"></span><h1>6. Built-in Exceptions<a class="headerlink" href="#module-exceptions" title="Permalink to this headline">¶</a></h1>
<p>Exceptions should be class objects.   The exceptions are defined in the module
<a class="reference internal" href="#module-exceptions" title="exceptions: Standard exception classes."><tt class="xref py py-mod docutils literal"><span class="pre">exceptions</span></tt></a>.  This module never needs to be imported explicitly: the
exceptions are provided in the built-in namespace as well as the
<a class="reference internal" href="#module-exceptions" title="exceptions: Standard exception classes."><tt class="xref py py-mod docutils literal"><span class="pre">exceptions</span></tt></a> module.</p>
<p id="index-0">For class exceptions, in a <a class="reference internal" href="../reference/compound_stmts.html#try"><tt class="xref std std-keyword docutils literal"><span class="pre">try</span></tt></a> statement with an <a class="reference internal" href="../reference/compound_stmts.html#except"><tt class="xref std std-keyword docutils literal"><span class="pre">except</span></tt></a>
clause that mentions a particular class, that clause also handles any exception
classes derived from that class (but not exception classes from which <em>it</em> is
derived).  Two exception classes that are not related via subclassing are never
equivalent, even if they have the same name.</p>
<p id="index-1">The built-in exceptions listed below can be generated by the interpreter or
built-in functions.  Except where mentioned, they have an &#8220;associated value&#8221;
indicating the detailed cause of the error.  This may be a string or a tuple
containing several items of information (e.g., an error code and a string
explaining the code). The associated value is the second argument to the
<a class="reference internal" href="../reference/simple_stmts.html#raise"><tt class="xref std std-keyword docutils literal"><span class="pre">raise</span></tt></a> statement.  If the exception class is derived from the standard
root class <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>, the associated value is present as the
exception instance&#8217;s <tt class="xref py py-attr docutils literal"><span class="pre">args</span></tt> attribute.</p>
<p>User code can raise built-in exceptions.  This can be used to test an exception
handler or to report an error condition &#8220;just like&#8221; the situation in which the
interpreter raises the same exception; but beware that there is nothing to
prevent user code from raising an inappropriate error.</p>
<p>The built-in exception classes can be subclassed to define new exceptions;
programmers are encouraged to derive new exceptions from the <a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a>
class or one of its subclasses, and not from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>.  More
information on defining exceptions is available in the Python Tutorial under
<a class="reference internal" href="../tutorial/errors.html#tut-userexceptions"><em>User-defined Exceptions</em></a>.</p>
<p>The following exceptions are only used as base classes for other exceptions.</p>
<dl class="exception">
<dt id="exceptions.BaseException">
<em class="property">exception </em><tt class="descname">BaseException</tt><a class="headerlink" href="#exceptions.BaseException" title="Permalink to this definition">¶</a></dt>
<dd><p>The base class for all built-in exceptions.  It is not meant to be directly
inherited by user-defined classes (for that, use <a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a>).  If
<a class="reference internal" href="functions.html#str" title="str"><tt class="xref py py-func docutils literal"><span class="pre">str()</span></tt></a> or <a class="reference internal" href="functions.html#unicode" title="unicode"><tt class="xref py py-func docutils literal"><span class="pre">unicode()</span></tt></a> is called on an instance of this class, the
representation of the argument(s) to the instance are returned, or the empty
string when there were no arguments.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
<dl class="attribute">
<dt id="exceptions.BaseException.args">
<tt class="descname">args</tt><a class="headerlink" href="#exceptions.BaseException.args" title="Permalink to this definition">¶</a></dt>
<dd><p>The tuple of arguments given to the exception constructor.  Some built-in
exceptions (like <a class="reference internal" href="#exceptions.IOError" title="exceptions.IOError"><tt class="xref py py-exc docutils literal"><span class="pre">IOError</span></tt></a>) expect a certain number of arguments and
assign a special meaning to the elements of this tuple, while others are
usually called only with a single string giving an error message.</p>
</dd></dl>

</dd></dl>

<dl class="exception">
<dt id="exceptions.Exception">
<em class="property">exception </em><tt class="descname">Exception</tt><a class="headerlink" href="#exceptions.Exception" title="Permalink to this definition">¶</a></dt>
<dd><p>All built-in, non-system-exiting exceptions are derived from this class.  All
user-defined exceptions should also be derived from this class.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.5: </span>Changed to inherit from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.StandardError">
<em class="property">exception </em><tt class="descname">StandardError</tt><a class="headerlink" href="#exceptions.StandardError" title="Permalink to this definition">¶</a></dt>
<dd><p>The base class for all built-in exceptions except <a class="reference internal" href="#exceptions.StopIteration" title="exceptions.StopIteration"><tt class="xref py py-exc docutils literal"><span class="pre">StopIteration</span></tt></a>,
<a class="reference internal" href="#exceptions.GeneratorExit" title="exceptions.GeneratorExit"><tt class="xref py py-exc docutils literal"><span class="pre">GeneratorExit</span></tt></a>, <a class="reference internal" href="#exceptions.KeyboardInterrupt" title="exceptions.KeyboardInterrupt"><tt class="xref py py-exc docutils literal"><span class="pre">KeyboardInterrupt</span></tt></a> and <a class="reference internal" href="#exceptions.SystemExit" title="exceptions.SystemExit"><tt class="xref py py-exc docutils literal"><span class="pre">SystemExit</span></tt></a>.
<a class="reference internal" href="#exceptions.StandardError" title="exceptions.StandardError"><tt class="xref py py-exc docutils literal"><span class="pre">StandardError</span></tt></a> itself is derived from <a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ArithmeticError">
<em class="property">exception </em><tt class="descname">ArithmeticError</tt><a class="headerlink" href="#exceptions.ArithmeticError" title="Permalink to this definition">¶</a></dt>
<dd><p>The base class for those built-in exceptions that are raised for various
arithmetic errors: <a class="reference internal" href="#exceptions.OverflowError" title="exceptions.OverflowError"><tt class="xref py py-exc docutils literal"><span class="pre">OverflowError</span></tt></a>, <a class="reference internal" href="#exceptions.ZeroDivisionError" title="exceptions.ZeroDivisionError"><tt class="xref py py-exc docutils literal"><span class="pre">ZeroDivisionError</span></tt></a>,
<a class="reference internal" href="#exceptions.FloatingPointError" title="exceptions.FloatingPointError"><tt class="xref py py-exc docutils literal"><span class="pre">FloatingPointError</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.BufferError">
<em class="property">exception </em><tt class="descname">BufferError</tt><a class="headerlink" href="#exceptions.BufferError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a <a class="reference internal" href="../c-api/buffer.html#bufferobjects"><em>buffer</em></a> related operation cannot be
performed.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.LookupError">
<em class="property">exception </em><tt class="descname">LookupError</tt><a class="headerlink" href="#exceptions.LookupError" title="Permalink to this definition">¶</a></dt>
<dd><p>The base class for the exceptions that are raised when a key or index used on
a mapping or sequence is invalid: <a class="reference internal" href="#exceptions.IndexError" title="exceptions.IndexError"><tt class="xref py py-exc docutils literal"><span class="pre">IndexError</span></tt></a>, <a class="reference internal" href="#exceptions.KeyError" title="exceptions.KeyError"><tt class="xref py py-exc docutils literal"><span class="pre">KeyError</span></tt></a>.  This
can be raised directly by <a class="reference internal" href="codecs.html#codecs.lookup" title="codecs.lookup"><tt class="xref py py-func docutils literal"><span class="pre">codecs.lookup()</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.EnvironmentError">
<em class="property">exception </em><tt class="descname">EnvironmentError</tt><a class="headerlink" href="#exceptions.EnvironmentError" title="Permalink to this definition">¶</a></dt>
<dd><p>The base class for exceptions that can occur outside the Python system:
<a class="reference internal" href="#exceptions.IOError" title="exceptions.IOError"><tt class="xref py py-exc docutils literal"><span class="pre">IOError</span></tt></a>, <a class="reference internal" href="#exceptions.OSError" title="exceptions.OSError"><tt class="xref py py-exc docutils literal"><span class="pre">OSError</span></tt></a>.  When exceptions of this type are created with a
2-tuple, the first item is available on the instance&#8217;s <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-attr docutils literal"><span class="pre">errno</span></tt></a> attribute
(it is assumed to be an error number), and the second item is available on the
<tt class="xref py py-attr docutils literal"><span class="pre">strerror</span></tt> attribute (it is usually the associated error message).  The
tuple itself is also available on the <tt class="xref py py-attr docutils literal"><span class="pre">args</span></tt> attribute.</p>
<p class="versionadded">
<span class="versionmodified">New in version 1.5.2.</span></p>
<p>When an <a class="reference internal" href="#exceptions.EnvironmentError" title="exceptions.EnvironmentError"><tt class="xref py py-exc docutils literal"><span class="pre">EnvironmentError</span></tt></a> exception is instantiated with a 3-tuple, the
first two items are available as above, while the third item is available on the
<tt class="xref py py-attr docutils literal"><span class="pre">filename</span></tt> attribute.  However, for backwards compatibility, the
<tt class="xref py py-attr docutils literal"><span class="pre">args</span></tt> attribute contains only a 2-tuple of the first two constructor
arguments.</p>
<p>The <tt class="xref py py-attr docutils literal"><span class="pre">filename</span></tt> attribute is <tt class="xref docutils literal"><span class="pre">None</span></tt> when this exception is created with
other than 3 arguments.  The <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-attr docutils literal"><span class="pre">errno</span></tt></a> and <tt class="xref py py-attr docutils literal"><span class="pre">strerror</span></tt> attributes are
also <tt class="xref docutils literal"><span class="pre">None</span></tt> when the instance was created with other than 2 or 3 arguments.
In this last case, <tt class="xref py py-attr docutils literal"><span class="pre">args</span></tt> contains the verbatim constructor arguments as a
tuple.</p>
</dd></dl>

<p>The following exceptions are the exceptions that are actually raised.</p>
<dl class="exception">
<dt id="exceptions.AssertionError">
<em class="property">exception </em><tt class="descname">AssertionError</tt><a class="headerlink" href="#exceptions.AssertionError" title="Permalink to this definition">¶</a></dt>
<dd><p id="index-2">Raised when an <a class="reference internal" href="../reference/simple_stmts.html#assert"><tt class="xref std std-keyword docutils literal"><span class="pre">assert</span></tt></a> statement fails.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.AttributeError">
<em class="property">exception </em><tt class="descname">AttributeError</tt><a class="headerlink" href="#exceptions.AttributeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an attribute reference (see <a class="reference internal" href="../reference/expressions.html#attribute-references"><em>Attribute references</em></a>) or
assignment fails.  (When an object does not support attribute references or
attribute assignments at all, <a class="reference internal" href="#exceptions.TypeError" title="exceptions.TypeError"><tt class="xref py py-exc docutils literal"><span class="pre">TypeError</span></tt></a> is raised.)</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.EOFError">
<em class="property">exception </em><tt class="descname">EOFError</tt><a class="headerlink" href="#exceptions.EOFError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when one of the built-in functions (<a class="reference internal" href="functions.html#input" title="input"><tt class="xref py py-func docutils literal"><span class="pre">input()</span></tt></a> or <a class="reference internal" href="functions.html#raw_input" title="raw_input"><tt class="xref py py-func docutils literal"><span class="pre">raw_input()</span></tt></a>)
hits an end-of-file condition (EOF) without reading any data. (N.B.: the
<a class="reference internal" href="stdtypes.html#file.read" title="file.read"><tt class="xref py py-meth docutils literal"><span class="pre">file.read()</span></tt></a> and <a class="reference internal" href="stdtypes.html#file.readline" title="file.readline"><tt class="xref py py-meth docutils literal"><span class="pre">file.readline()</span></tt></a> methods return an empty string
when they hit EOF.)</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.FloatingPointError">
<em class="property">exception </em><tt class="descname">FloatingPointError</tt><a class="headerlink" href="#exceptions.FloatingPointError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a floating point operation fails.  This exception is always defined,
but can only be raised when Python is configured with the
<tt class="docutils literal"><span class="pre">--with-fpectl</span></tt> option, or the <tt class="xref py py-const docutils literal"><span class="pre">WANT_SIGFPE_HANDLER</span></tt> symbol is
defined in the <tt class="file docutils literal"><span class="pre">pyconfig.h</span></tt> file.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.GeneratorExit">
<em class="property">exception </em><tt class="descname">GeneratorExit</tt><a class="headerlink" href="#exceptions.GeneratorExit" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a <a class="reference internal" href="../glossary.html#term-generator"><em class="xref std std-term">generator</em></a>&#8216;s <tt class="xref py py-meth docutils literal"><span class="pre">close()</span></tt> method is called.  It
directly inherits from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a> instead of <a class="reference internal" href="#exceptions.StandardError" title="exceptions.StandardError"><tt class="xref py py-exc docutils literal"><span class="pre">StandardError</span></tt></a>
since it is technically not an error.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.6: </span>Changed to inherit from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.IOError">
<em class="property">exception </em><tt class="descname">IOError</tt><a class="headerlink" href="#exceptions.IOError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an I/O operation (such as a <a class="reference internal" href="../reference/simple_stmts.html#print"><tt class="xref std std-keyword docutils literal"><span class="pre">print</span></tt></a> statement, the built-in
<a class="reference internal" href="functions.html#open" title="open"><tt class="xref py py-func docutils literal"><span class="pre">open()</span></tt></a> function or a method of a file object) fails for an I/O-related
reason, e.g., &#8220;file not found&#8221; or &#8220;disk full&#8221;.</p>
<p>This class is derived from <a class="reference internal" href="#exceptions.EnvironmentError" title="exceptions.EnvironmentError"><tt class="xref py py-exc docutils literal"><span class="pre">EnvironmentError</span></tt></a>.  See the discussion above
for more information on exception instance attributes.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.6: </span>Changed <a class="reference internal" href="socket.html#socket.error" title="socket.error"><tt class="xref py py-exc docutils literal"><span class="pre">socket.error</span></tt></a> to use this as a base class.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ImportError">
<em class="property">exception </em><tt class="descname">ImportError</tt><a class="headerlink" href="#exceptions.ImportError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an <a class="reference internal" href="../reference/simple_stmts.html#import"><tt class="xref std std-keyword docutils literal"><span class="pre">import</span></tt></a> statement fails to find the module definition
or when a <tt class="docutils literal"><span class="pre">from</span> <span class="pre">...</span> <span class="pre">import</span></tt> fails to find a name that is to be imported.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.IndexError">
<em class="property">exception </em><tt class="descname">IndexError</tt><a class="headerlink" href="#exceptions.IndexError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a sequence subscript is out of range.  (Slice indices are silently
truncated to fall in the allowed range; if an index is not a plain integer,
<a class="reference internal" href="#exceptions.TypeError" title="exceptions.TypeError"><tt class="xref py py-exc docutils literal"><span class="pre">TypeError</span></tt></a> is raised.)</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.KeyError">
<em class="property">exception </em><tt class="descname">KeyError</tt><a class="headerlink" href="#exceptions.KeyError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a mapping (dictionary) key is not found in the set of existing keys.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.KeyboardInterrupt">
<em class="property">exception </em><tt class="descname">KeyboardInterrupt</tt><a class="headerlink" href="#exceptions.KeyboardInterrupt" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when the user hits the interrupt key (normally <tt class="kbd docutils literal"><span class="pre">Control-C</span></tt> or
<tt class="kbd docutils literal"><span class="pre">Delete</span></tt>).  During execution, a check for interrupts is made regularly.
Interrupts typed when a built-in function <a class="reference internal" href="functions.html#input" title="input"><tt class="xref py py-func docutils literal"><span class="pre">input()</span></tt></a> or <a class="reference internal" href="functions.html#raw_input" title="raw_input"><tt class="xref py py-func docutils literal"><span class="pre">raw_input()</span></tt></a> is
waiting for input also raise this exception. The exception inherits from
<a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a> so as to not be accidentally caught by code that catches
<a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a> and thus prevent the interpreter from exiting.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.5: </span>Changed to inherit from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.MemoryError">
<em class="property">exception </em><tt class="descname">MemoryError</tt><a class="headerlink" href="#exceptions.MemoryError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an operation runs out of memory but the situation may still be
rescued (by deleting some objects).  The associated value is a string indicating
what kind of (internal) operation ran out of memory. Note that because of the
underlying memory management architecture (C&#8217;s <tt class="xref c c-func docutils literal"><span class="pre">malloc()</span></tt> function), the
interpreter may not always be able to completely recover from this situation; it
nevertheless raises an exception so that a stack traceback can be printed, in
case a run-away program was the cause.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.NameError">
<em class="property">exception </em><tt class="descname">NameError</tt><a class="headerlink" href="#exceptions.NameError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a local or global name is not found.  This applies only to
unqualified names.  The associated value is an error message that includes the
name that could not be found.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.NotImplementedError">
<em class="property">exception </em><tt class="descname">NotImplementedError</tt><a class="headerlink" href="#exceptions.NotImplementedError" title="Permalink to this definition">¶</a></dt>
<dd><p>This exception is derived from <a class="reference internal" href="#exceptions.RuntimeError" title="exceptions.RuntimeError"><tt class="xref py py-exc docutils literal"><span class="pre">RuntimeError</span></tt></a>.  In user defined base
classes, abstract methods should raise this exception when they require derived
classes to override the method.</p>
<p class="versionadded">
<span class="versionmodified">New in version 1.5.2.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.OSError">
<em class="property">exception </em><tt class="descname">OSError</tt><a class="headerlink" href="#exceptions.OSError" title="Permalink to this definition">¶</a></dt>
<dd><p id="index-3">This exception is derived from <a class="reference internal" href="#exceptions.EnvironmentError" title="exceptions.EnvironmentError"><tt class="xref py py-exc docutils literal"><span class="pre">EnvironmentError</span></tt></a>.  It is raised when a
function returns a system-related error (not for illegal argument types or
other incidental errors).  The <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-attr docutils literal"><span class="pre">errno</span></tt></a> attribute is a numeric error
code from <tt class="xref c c-data docutils literal"><span class="pre">errno</span></tt>, and the <tt class="xref py py-attr docutils literal"><span class="pre">strerror</span></tt> attribute is the
corresponding string, as would be printed by the C function <tt class="xref c c-func docutils literal"><span class="pre">perror()</span></tt>.
See the module <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-mod docutils literal"><span class="pre">errno</span></tt></a>, which contains names for the error codes defined
by the underlying operating system.</p>
<p>For exceptions that involve a file system path (such as <tt class="xref py py-func docutils literal"><span class="pre">chdir()</span></tt> or
<tt class="xref py py-func docutils literal"><span class="pre">unlink()</span></tt>), the exception instance will contain a third attribute,
<tt class="xref py py-attr docutils literal"><span class="pre">filename</span></tt>, which is the file name passed to the function.</p>
<p class="versionadded">
<span class="versionmodified">New in version 1.5.2.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.OverflowError">
<em class="property">exception </em><tt class="descname">OverflowError</tt><a class="headerlink" href="#exceptions.OverflowError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when the result of an arithmetic operation is too large to be
represented.  This cannot occur for long integers (which would rather raise
<a class="reference internal" href="#exceptions.MemoryError" title="exceptions.MemoryError"><tt class="xref py py-exc docutils literal"><span class="pre">MemoryError</span></tt></a> than give up) and for most operations with plain integers,
which return a long integer instead.  Because of the lack of standardization
of floating point exception handling in C, most floating point operations
also aren&#8217;t checked.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ReferenceError">
<em class="property">exception </em><tt class="descname">ReferenceError</tt><a class="headerlink" href="#exceptions.ReferenceError" title="Permalink to this definition">¶</a></dt>
<dd><p>This exception is raised when a weak reference proxy, created by the
<a class="reference internal" href="weakref.html#weakref.proxy" title="weakref.proxy"><tt class="xref py py-func docutils literal"><span class="pre">weakref.proxy()</span></tt></a> function, is used to access an attribute of the referent
after it has been garbage collected. For more information on weak references,
see the <a class="reference internal" href="weakref.html#module-weakref" title="weakref: Support for weak references and weak dictionaries."><tt class="xref py py-mod docutils literal"><span class="pre">weakref</span></tt></a> module.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2: </span>Previously known as the <a class="reference internal" href="weakref.html#weakref.ReferenceError" title="weakref.ReferenceError"><tt class="xref py py-exc docutils literal"><span class="pre">weakref.ReferenceError</span></tt></a> exception.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.RuntimeError">
<em class="property">exception </em><tt class="descname">RuntimeError</tt><a class="headerlink" href="#exceptions.RuntimeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an error is detected that doesn&#8217;t fall in any of the other
categories.  The associated value is a string indicating what precisely went
wrong.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.StopIteration">
<em class="property">exception </em><tt class="descname">StopIteration</tt><a class="headerlink" href="#exceptions.StopIteration" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised by an <a class="reference internal" href="../glossary.html#term-iterator"><em class="xref std std-term">iterator</em></a>&#8216;s <a class="reference internal" href="stdtypes.html#iterator.next" title="iterator.next"><tt class="xref py py-meth docutils literal"><span class="pre">next()</span></tt></a> method to signal that
there are no further values.  This is derived from <a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a> rather
than <a class="reference internal" href="#exceptions.StandardError" title="exceptions.StandardError"><tt class="xref py py-exc docutils literal"><span class="pre">StandardError</span></tt></a>, since this is not considered an error in its
normal application.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.2.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.SyntaxError">
<em class="property">exception </em><tt class="descname">SyntaxError</tt><a class="headerlink" href="#exceptions.SyntaxError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when the parser encounters a syntax error.  This may occur in an
<a class="reference internal" href="../reference/simple_stmts.html#import"><tt class="xref std std-keyword docutils literal"><span class="pre">import</span></tt></a> statement, in an <a class="reference internal" href="../reference/simple_stmts.html#exec"><tt class="xref std std-keyword docutils literal"><span class="pre">exec</span></tt></a> statement, in a call to the
built-in function <a class="reference internal" href="functions.html#eval" title="eval"><tt class="xref py py-func docutils literal"><span class="pre">eval()</span></tt></a> or <a class="reference internal" href="functions.html#input" title="input"><tt class="xref py py-func docutils literal"><span class="pre">input()</span></tt></a>, or when reading the initial
script or standard input (also interactively).</p>
<p>Instances of this class have attributes <tt class="xref py py-attr docutils literal"><span class="pre">filename</span></tt>, <tt class="xref py py-attr docutils literal"><span class="pre">lineno</span></tt>,
<tt class="xref py py-attr docutils literal"><span class="pre">offset</span></tt> and <tt class="xref py py-attr docutils literal"><span class="pre">text</span></tt> for easier access to the details.  <a class="reference internal" href="functions.html#str" title="str"><tt class="xref py py-func docutils literal"><span class="pre">str()</span></tt></a>
of the exception instance returns only the message.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.IndentationError">
<em class="property">exception </em><tt class="descname">IndentationError</tt><a class="headerlink" href="#exceptions.IndentationError" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for syntax errors related to incorrect indentation.  This is a
subclass of <a class="reference internal" href="#exceptions.SyntaxError" title="exceptions.SyntaxError"><tt class="xref py py-exc docutils literal"><span class="pre">SyntaxError</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.TabError">
<em class="property">exception </em><tt class="descname">TabError</tt><a class="headerlink" href="#exceptions.TabError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when indentation contains an inconsistent use of tabs and spaces.
This is a subclass of <a class="reference internal" href="#exceptions.IndentationError" title="exceptions.IndentationError"><tt class="xref py py-exc docutils literal"><span class="pre">IndentationError</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.SystemError">
<em class="property">exception </em><tt class="descname">SystemError</tt><a class="headerlink" href="#exceptions.SystemError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when the interpreter finds an internal error, but the situation does not
look so serious to cause it to abandon all hope. The associated value is a
string indicating what went wrong (in low-level terms).</p>
<p>You should report this to the author or maintainer of your Python interpreter.
Be sure to report the version of the Python interpreter (<tt class="docutils literal"><span class="pre">sys.version</span></tt>; it is
also printed at the start of an interactive Python session), the exact error
message (the exception&#8217;s associated value) and if possible the source of the
program that triggered the error.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.SystemExit">
<em class="property">exception </em><tt class="descname">SystemExit</tt><a class="headerlink" href="#exceptions.SystemExit" title="Permalink to this definition">¶</a></dt>
<dd><p>This exception is raised by the <a class="reference internal" href="sys.html#sys.exit" title="sys.exit"><tt class="xref py py-func docutils literal"><span class="pre">sys.exit()</span></tt></a> function.  When it is not
handled, the Python interpreter exits; no stack traceback is printed.  If the
associated value is a plain integer, it specifies the system exit status (passed
to C&#8217;s <tt class="xref c c-func docutils literal"><span class="pre">exit()</span></tt> function); if it is <tt class="xref docutils literal"><span class="pre">None</span></tt>, the exit status is zero; if
it has another type (such as a string), the object&#8217;s value is printed and the
exit status is one.</p>
<p>Instances have an attribute <tt class="xref py py-attr docutils literal"><span class="pre">code</span></tt> which is set to the proposed exit
status or error message (defaulting to <tt class="xref docutils literal"><span class="pre">None</span></tt>). Also, this exception derives
directly from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a> and not <a class="reference internal" href="#exceptions.StandardError" title="exceptions.StandardError"><tt class="xref py py-exc docutils literal"><span class="pre">StandardError</span></tt></a>, since it is not
technically an error.</p>
<p>A call to <a class="reference internal" href="sys.html#sys.exit" title="sys.exit"><tt class="xref py py-func docutils literal"><span class="pre">sys.exit()</span></tt></a> is translated into an exception so that clean-up
handlers (<a class="reference internal" href="../reference/compound_stmts.html#finally"><tt class="xref std std-keyword docutils literal"><span class="pre">finally</span></tt></a> clauses of <a class="reference internal" href="../reference/compound_stmts.html#try"><tt class="xref std std-keyword docutils literal"><span class="pre">try</span></tt></a> statements) can be
executed, and so that a debugger can execute a script without running the risk
of losing control.  The <a class="reference internal" href="os.html#os._exit" title="os._exit"><tt class="xref py py-func docutils literal"><span class="pre">os._exit()</span></tt></a> function can be used if it is
absolutely positively necessary to exit immediately (for example, in the child
process after a call to <a class="reference internal" href="os.html#os.fork" title="os.fork"><tt class="xref py py-func docutils literal"><span class="pre">os.fork()</span></tt></a>).</p>
<p>The exception inherits from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a> instead of <a class="reference internal" href="#exceptions.StandardError" title="exceptions.StandardError"><tt class="xref py py-exc docutils literal"><span class="pre">StandardError</span></tt></a>
or <a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a> so that it is not accidentally caught by code that catches
<a class="reference internal" href="#exceptions.Exception" title="exceptions.Exception"><tt class="xref py py-exc docutils literal"><span class="pre">Exception</span></tt></a>.  This allows the exception to properly propagate up and cause
the interpreter to exit.</p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.5: </span>Changed to inherit from <a class="reference internal" href="#exceptions.BaseException" title="exceptions.BaseException"><tt class="xref py py-exc docutils literal"><span class="pre">BaseException</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.TypeError">
<em class="property">exception </em><tt class="descname">TypeError</tt><a class="headerlink" href="#exceptions.TypeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when an operation or function is applied to an object of inappropriate
type.  The associated value is a string giving details about the type mismatch.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnboundLocalError">
<em class="property">exception </em><tt class="descname">UnboundLocalError</tt><a class="headerlink" href="#exceptions.UnboundLocalError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a reference is made to a local variable in a function or method, but
no value has been bound to that variable.  This is a subclass of
<a class="reference internal" href="#exceptions.NameError" title="exceptions.NameError"><tt class="xref py py-exc docutils literal"><span class="pre">NameError</span></tt></a>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.0.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnicodeError">
<em class="property">exception </em><tt class="descname">UnicodeError</tt><a class="headerlink" href="#exceptions.UnicodeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a Unicode-related encoding or decoding error occurs.  It is a
subclass of <a class="reference internal" href="#exceptions.ValueError" title="exceptions.ValueError"><tt class="xref py py-exc docutils literal"><span class="pre">ValueError</span></tt></a>.</p>
<p><a class="reference internal" href="#exceptions.UnicodeError" title="exceptions.UnicodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeError</span></tt></a> has attributes that describe the encoding or decoding
error.  For example, <tt class="docutils literal"><span class="pre">err.object[err.start:err.end]</span></tt> gives the particular
invalid input that the codec failed on.</p>
<dl class="attribute">
<dt id="exceptions.UnicodeError.encoding">
<tt class="descname">encoding</tt><a class="headerlink" href="#exceptions.UnicodeError.encoding" title="Permalink to this definition">¶</a></dt>
<dd><p>The name of the encoding that raised the error.</p>
</dd></dl>

<dl class="attribute">
<dt id="exceptions.UnicodeError.reason">
<tt class="descname">reason</tt><a class="headerlink" href="#exceptions.UnicodeError.reason" title="Permalink to this definition">¶</a></dt>
<dd><p>A string describing the specific codec error.</p>
</dd></dl>

<dl class="attribute">
<dt id="exceptions.UnicodeError.object">
<tt class="descname">object</tt><a class="headerlink" href="#exceptions.UnicodeError.object" title="Permalink to this definition">¶</a></dt>
<dd><p>The object the codec was attempting to encode or decode.</p>
</dd></dl>

<dl class="attribute">
<dt id="exceptions.UnicodeError.start">
<tt class="descname">start</tt><a class="headerlink" href="#exceptions.UnicodeError.start" title="Permalink to this definition">¶</a></dt>
<dd><p>The first index of invalid data in <a class="reference internal" href="functions.html#object" title="object"><tt class="xref py py-attr docutils literal"><span class="pre">object</span></tt></a>.</p>
</dd></dl>

<dl class="attribute">
<dt id="exceptions.UnicodeError.end">
<tt class="descname">end</tt><a class="headerlink" href="#exceptions.UnicodeError.end" title="Permalink to this definition">¶</a></dt>
<dd><p>The index after the last invalid data in <a class="reference internal" href="functions.html#object" title="object"><tt class="xref py py-attr docutils literal"><span class="pre">object</span></tt></a>.</p>
</dd></dl>

<p class="versionadded">
<span class="versionmodified">New in version 2.0.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnicodeEncodeError">
<em class="property">exception </em><tt class="descname">UnicodeEncodeError</tt><a class="headerlink" href="#exceptions.UnicodeEncodeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a Unicode-related error occurs during encoding.  It is a subclass of
<a class="reference internal" href="#exceptions.UnicodeError" title="exceptions.UnicodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeError</span></tt></a>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnicodeDecodeError">
<em class="property">exception </em><tt class="descname">UnicodeDecodeError</tt><a class="headerlink" href="#exceptions.UnicodeDecodeError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a Unicode-related error occurs during decoding.  It is a subclass of
<a class="reference internal" href="#exceptions.UnicodeError" title="exceptions.UnicodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeError</span></tt></a>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnicodeTranslateError">
<em class="property">exception </em><tt class="descname">UnicodeTranslateError</tt><a class="headerlink" href="#exceptions.UnicodeTranslateError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a Unicode-related error occurs during translating.  It is a subclass
of <a class="reference internal" href="#exceptions.UnicodeError" title="exceptions.UnicodeError"><tt class="xref py py-exc docutils literal"><span class="pre">UnicodeError</span></tt></a>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.3.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ValueError">
<em class="property">exception </em><tt class="descname">ValueError</tt><a class="headerlink" href="#exceptions.ValueError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a built-in operation or function receives an argument that has the
right type but an inappropriate value, and the situation is not described by a
more precise exception such as <a class="reference internal" href="#exceptions.IndexError" title="exceptions.IndexError"><tt class="xref py py-exc docutils literal"><span class="pre">IndexError</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.VMSError">
<em class="property">exception </em><tt class="descname">VMSError</tt><a class="headerlink" href="#exceptions.VMSError" title="Permalink to this definition">¶</a></dt>
<dd><p>Only available on VMS.  Raised when a VMS-specific error occurs.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.WindowsError">
<em class="property">exception </em><tt class="descname">WindowsError</tt><a class="headerlink" href="#exceptions.WindowsError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when a Windows-specific error occurs or when the error number does not
correspond to an <tt class="xref c c-data docutils literal"><span class="pre">errno</span></tt> value.  The <tt class="xref py py-attr docutils literal"><span class="pre">winerror</span></tt> and
<tt class="xref py py-attr docutils literal"><span class="pre">strerror</span></tt> values are created from the return values of the
<tt class="xref c c-func docutils literal"><span class="pre">GetLastError()</span></tt> and <tt class="xref c c-func docutils literal"><span class="pre">FormatMessage()</span></tt> functions from the Windows
Platform API. The <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-attr docutils literal"><span class="pre">errno</span></tt></a> value maps the <tt class="xref py py-attr docutils literal"><span class="pre">winerror</span></tt> value to
corresponding <tt class="docutils literal"><span class="pre">errno.h</span></tt> values. This is a subclass of <a class="reference internal" href="#exceptions.OSError" title="exceptions.OSError"><tt class="xref py py-exc docutils literal"><span class="pre">OSError</span></tt></a>.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.0.</span></p>
<p class="versionchanged">
<span class="versionmodified">Changed in version 2.5: </span>Previous versions put the <tt class="xref c c-func docutils literal"><span class="pre">GetLastError()</span></tt> codes into <a class="reference internal" href="errno.html#module-errno" title="errno: Standard errno system symbols."><tt class="xref py py-attr docutils literal"><span class="pre">errno</span></tt></a>.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ZeroDivisionError">
<em class="property">exception </em><tt class="descname">ZeroDivisionError</tt><a class="headerlink" href="#exceptions.ZeroDivisionError" title="Permalink to this definition">¶</a></dt>
<dd><p>Raised when the second argument of a division or modulo operation is zero.  The
associated value is a string indicating the type of the operands and the
operation.</p>
</dd></dl>

<p>The following exceptions are used as warning categories; see the <a class="reference internal" href="warnings.html#module-warnings" title="warnings: Issue warning messages and control their disposition."><tt class="xref py py-mod docutils literal"><span class="pre">warnings</span></tt></a>
module for more information.</p>
<dl class="exception">
<dt id="exceptions.Warning">
<em class="property">exception </em><tt class="descname">Warning</tt><a class="headerlink" href="#exceptions.Warning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warning categories.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UserWarning">
<em class="property">exception </em><tt class="descname">UserWarning</tt><a class="headerlink" href="#exceptions.UserWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings generated by user code.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.DeprecationWarning">
<em class="property">exception </em><tt class="descname">DeprecationWarning</tt><a class="headerlink" href="#exceptions.DeprecationWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about deprecated features.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.PendingDeprecationWarning">
<em class="property">exception </em><tt class="descname">PendingDeprecationWarning</tt><a class="headerlink" href="#exceptions.PendingDeprecationWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about features which will be deprecated in the future.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.SyntaxWarning">
<em class="property">exception </em><tt class="descname">SyntaxWarning</tt><a class="headerlink" href="#exceptions.SyntaxWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about dubious syntax</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.RuntimeWarning">
<em class="property">exception </em><tt class="descname">RuntimeWarning</tt><a class="headerlink" href="#exceptions.RuntimeWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about dubious runtime behavior.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.FutureWarning">
<em class="property">exception </em><tt class="descname">FutureWarning</tt><a class="headerlink" href="#exceptions.FutureWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about constructs that will change semantically in the
future.</p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.ImportWarning">
<em class="property">exception </em><tt class="descname">ImportWarning</tt><a class="headerlink" href="#exceptions.ImportWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings about probable mistakes in module imports.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
</dd></dl>

<dl class="exception">
<dt id="exceptions.UnicodeWarning">
<em class="property">exception </em><tt class="descname">UnicodeWarning</tt><a class="headerlink" href="#exceptions.UnicodeWarning" title="Permalink to this definition">¶</a></dt>
<dd><p>Base class for warnings related to Unicode.</p>
<p class="versionadded">
<span class="versionmodified">New in version 2.5.</span></p>
</dd></dl>

<div class="section" id="exception-hierarchy">
<h2>6.1. Exception hierarchy<a class="headerlink" href="#exception-hierarchy" title="Permalink to this headline">¶</a></h2>
<p>The class hierarchy for built-in exceptions is:</p>
<div class="highlight-python"><pre>BaseException
 +-- SystemExit
 +-- KeyboardInterrupt
 +-- GeneratorExit
 +-- Exception
      +-- StopIteration
      +-- StandardError
      |    +-- BufferError
      |    +-- ArithmeticError
      |    |    +-- FloatingPointError
      |    |    +-- OverflowError
      |    |    +-- ZeroDivisionError
      |    +-- AssertionError
      |    +-- AttributeError
      |    +-- EnvironmentError
      |    |    +-- IOError
      |    |    +-- OSError
      |    |         +-- WindowsError (Windows)
      |    |         +-- VMSError (VMS)
      |    +-- EOFError
      |    +-- ImportError
      |    +-- LookupError
      |    |    +-- IndexError
      |    |    +-- KeyError
      |    +-- MemoryError
      |    +-- NameError
      |    |    +-- UnboundLocalError
      |    +-- ReferenceError
      |    +-- RuntimeError
      |    |    +-- NotImplementedError
      |    +-- SyntaxError
      |    |    +-- IndentationError
      |    |         +-- TabError
      |    +-- SystemError
      |    +-- TypeError
      |    +-- ValueError
      |         +-- UnicodeError
      |              +-- UnicodeDecodeError
      |              +-- UnicodeEncodeError
      |              +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
	   +-- ImportWarning
	   +-- UnicodeWarning
	   +-- BytesWarning
</pre>
</div>
</div>
</div>


          </div>
        </div>
      </div>
      <div class="sphinxsidebar">
        <div class="sphinxsidebarwrapper">
  <h3><a href="../contents.html">Table Of Contents</a></h3>
  <ul>
<li><a class="reference internal" href="#">6. Built-in Exceptions</a><ul>
<li><a class="reference internal" href="#exception-hierarchy">6.1. Exception hierarchy</a></li>
</ul>
</li>
</ul>

  <h4>Previous topic</h4>
  <p class="topless"><a href="stdtypes.html"
                        title="previous chapter">5. Built-in Types</a></p>
  <h4>Next topic</h4>
  <p class="topless"><a href="strings.html"
                        title="next chapter">7. String Services</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
  <li><a href="../bugs.html">Report a Bug</a></li>
  <li><a href="../_sources/library/exceptions.txt"
         rel="nofollow">Show Source</a></li>
</ul>

<div id="searchbox" style="display: none">
  <h3>Quick search</h3>
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" size="18" />
      <input type="submit" value="Go" />
      <input type="hidden" name="check_keywords" value="yes" />
      <input type="hidden" name="area" value="default" />
    </form>
    <p class="searchtip" style="font-size: 90%">
    Enter search terms or a module, class or function name.
    </p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
        </div>
      </div>
      <div class="clearer"></div>
    </div>  
    <div class="related">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="../genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="../py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="strings.html" title="7. String Services"
             >next</a> |</li>
        <li class="right" >
          <a href="stdtypes.html" title="5. Built-in Types"
             >previous</a> |</li>
        <li><img src="../_static/py.png" alt=""
                 style="vertical-align: middle; margin-top: -1px"/></li>
        <li><a href="http://www.python.org/">Python</a> &raquo;</li>
        <li>
          <a href="../index.html">Python v2.7.8 documentation</a> &raquo;
        </li>

          <li><a href="index.html" >The Python Standard Library</a> &raquo;</li> 
      </ul>
    </div>  
    <div class="footer">
    &copy; <a href="../copyright.html">Copyright</a> 1990-2014, Python Software Foundation.
    <br />
    The Python Software Foundation is a non-profit corporation.
    <a href="http://www.python.org/psf/donations/">Please donate.</a>
    <br />
    Last updated on Jun 29, 2014.
    <a href="../bugs.html">Found a bug</a>?
    <br />
    Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.7.
    </div>

  </body>
</html>